Network devices are used to transfer data between nodes in a network. As the networks grow and the data rates of communication channels increase, the need to increase the amount of data a network device can handle within a period of time arises. Further, the network devices receive variable length packets, whose size commonly ranges from 64 bytes to 9 kilobytes. Receiving a wide range of packet widths is problematic for current network devices as they are constructed using internal memories and processing units based on a fixed storage data element width, which is considerably smaller than the large packet width received on the network. In particular, sizing the internal memories and processing units to be equal in size to the maximum transmission unit (MTU) is cost prohibitive. Thus, current network devices use fixed width data units for internal storage and processing.
Because current network devices use fixed width data units for internal storage and processing, determining the width of the data units that is to be used is a key problem. The width of the data unit is determined by the required throughput at a given frequency. This results in having network device designed for a data unit that is optimized for high throughput processing. However, the cost for this optimization results in the cost of high overhead bandwidth and specialized components. Moreover, the network device is inflexible to meet changes in the network. Because the network devices are for a specific throughput, the network device would be overdesigned in networks having a lower throughput requirement, and would be under designed for a network that uses larger packet widths. Thus, the current network devices are not equipped to handle efficiently a network with variable width data packets.